package com.hrms.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.hrms.entity.Stay;
import java.util.List;
import java.util.Map;

public interface StayService extends IService<Stay> {
    // 返回表stay的所有记录
    List<Map<String, Object>> selectAll();

    // 在表stay中添加一条记录
    boolean add(Stay stay);

    // 根据stay_id返回user_id
    Integer selectUser(Stay stay);

    // 根据stay_id返回employee_id
    String selectEmployee(Stay stay);

    // 根据stay_id返回room_id
    String selectRoom(Stay stay);

    // 根据stay_id修改stay_end_time
    boolean updateEndTime(Stay stay);

    // 根据stay_id修改employee_id
    boolean updateEmployeeId(Stay stay);

    // 删除表stay中的记录
    boolean delete(Stay stay);

    // 表stay连接表room
    // 根据user_id返回除employee_id的相应记录
    List<Map<String, Object>> selectbyUser(Stay stay);

    // 表stay连接表room的所有记录
    // room_status不为“已删除”
    List<Map<String, Object>> selectbyEmployeeInit();

    // 表stay连接表room的所有记录
    // room_status为“退房中”
    List<Map<String, Object>> checkoutProcessInit();

    // 表stay连接表user、表employee、表room
    // 其中表user连接表customer
    // 返回五张表的所有记录
    List<Map<String, Object>> selectAllTable();

    // 根据stay_id返回stay_start_time
    String selectStartTime(Stay stay);

    // 根据stay_id返回stay_end_time
    String selectEndTime(Stay stay);

    // 根据stay_id返回stay_name
    String selectStayName(Stay stay);

    // 根据stay_id返回最后一个stay_multiple_id
    Integer selectStayMultipleID(Stay stay);
}